Cloud computing is the delivery of computing as a service rather than a product, whereby shared resources, software, and information are provided to computers and other devices over a network (e.g. the Internet). Cloud computing entrusts services with a user's data, software and computation. End users may access cloud based applications through a web browser or a light weight desktop or mobile app while the business software and data are stored on servers at a remote location.
Many cloud based computing services are offered today (e.g. Microsoft SkyDrive). The use of cloud based computing has also spread to the mobile industry with operating systems such as iOS from Apple, Android by Google and Windows Phone by Microsoft. Each operating system offers access to cloud based computing resources and cloud based storage of user content. For example, an Amazon kindle device allows users to store books, videos, music, and magazine subscriptions in the cloud.
Cloud based systems have many advantages including the ability to provide vast amounts of storage to end users at a fraction of the cost of local storage, lower cost access to applications such as word processing, spreadsheet or even more complex applications.
However, in a mobile context, cloud based solutions also have disadvantages. One disadvantage is the latency in accessing information. For example, when content is selected for use, it takes a finite amount of time for the content to be downloaded to the device before the user may access the content (for example, downloading a song). To overcome this delay, solutions that rely on partial downloading of information to the mobile device have been proposed. For example, the beginning of the content may be stored locally (thereby saving storage space) and the rest of the content may be downloaded while the beginning of the content may be accessed. As the amount of content a subscriber has grows and as more data intensive content (e.g. video) becomes a greater fraction of the content accessed, this solution cannot adequately address the reduction in mobile cloud user experience.